module(
    name = "depend_on_what_you_use",
    # Keep in sync with setup_step_2.bzl
    bazel_compatibility = [">=5.4.0"],
    version = "0.1.0",
)

bazel_dep(
    name = "rules_cc",
    version = "0.0.8",
)
bazel_dep(
    name = "rules_python",
    # Keep in sync with //examples/MODULE.bazel
    # Keep in sync with //test/aspect/MODULE.bazel
    # Keep in sync with //test/apply_fixes/execution_logic.py
    version = "0.27.1",
)

non_module_dependencies = use_extension(
    "//third_party:extensions.bzl",
    "non_module_dependencies",
)
use_repo(non_module_dependencies, "dwyu_pcpp")

###
### Development Dependencies
###

bazel_dep(
    name = "bazel_skylib",
    version = "1.5.0",
    dev_dependency = True,
)

python = use_extension(
    "@rules_python//python/extensions:python.bzl",
    "python",
    dev_dependency = True,
)
python.toolchain(
    python_version = "3.8",
)

pip_dev = use_extension(
    "@rules_python//python/extensions:pip.bzl",
    "pip",
    dev_dependency = True,
)
pip_dev.parse(
    hub_name = "dwyu_mypy_deps",
    python_version = "3.8",
    requirements_lock = "//third_party:mypy_requirements.txt",
)
use_repo(pip_dev, "dwyu_mypy_deps")

mypy_dep = use_extension(
    "//third_party:dev_extensions.bzl",
    "mypy_dependency",
    dev_dependency = True,
)
use_repo(mypy_dep, "mypy_integration")
